trapping rainwater leetcode